package com.erbao.io.netty.refactor.rpc.protocol;

import lombok.Data;

import java.io.Serializable;
import java.util.UUID;

@Data
public class MyHeader implements Serializable {
    public static final int BYTES_LENGTH = 125; // header 序列化后的长度跟jdk版本、类全名（包的长度）也有很关系
    // 值 标识什么样的协议 用二进制位标识 int 四个字节 32位可以表示很多信息
    int flag;//4
    long requestId;//8
    long contentLength;//8

    public static MyHeader createHeader(byte[] msgBodyBytes) {
        MyHeader header = new MyHeader();
        header.setContentLength(msgBodyBytes.length);
        header.setFlag(0x141a1f14);//十六进制，一个数占四位
        header.setRequestId(UUID.randomUUID().getLeastSignificantBits());

        return header;
    }
}